<?php
namespace Shopex\Contracts\Stock;

/**
 * summary
 *
 * @package default
 * @author 
 */
interface StockItem
{

        /**
         * 获取库存扣减唯一key
         * 可以是skuid，也可以是其他id的组合
         * 
         * @return string      
         */
        public function getUniqueKey();
        /**
         * 获取库存扣减数量
         * 可以为正数，也可以为负数
         * 
         * @return int      
         */
        public function getNumber();
        /**
         * 获取货品（ID）
         * 
         * @return string      
         */
        public function getSkuId();
        /**
         * 获取商品（item）ID
         * 
         * @return string 货品ID    
         */
        public function getItemId();
        /**
         * 获取域ID
         * 在调用公共服务时可以用到此值
         * 
         * @return string 域ID
         */
        public function getZoneId();
        /**
         * 获分组ID
         * 此处的分组可以是店铺ID也可以是其他
         * 
         * @return string 域ID
         */
        public function getGroupId();

        public function setUniqueKey($key);
        public function setNumber($key);
        public function setSkuId($key);
        public function setItemId($key);
        public function setZoneId($key);
        public function setGroupId($key);
        /**
         * 将一条库存数据格式化为数组
         * 
         * @return array
         */
        public function toArray();
}
